Many applications involve two-dimensional data sets. Visual processing applications are one example. The term “visual processing” as used herein refers to a general class of processing of image and video picture elements (“pixels”) and related data. This includes applications such as enhancing images and converting pixels formats, motion detection and tracking, and identifying features or objects in either still-image or video frames. Other applications involving data that can be expressed in two-dimensional sets include modeling of physical quantities such as forces or electromagnetic fields. Three-dimensional data sets can in some cases be represented in two-dimensions, such as by projection or transformation into a two-dimensional plane, or as multiple adjacent two-dimensional data sets.
Convolutional neural networks encompass a large variety of detection and classification algorithms. Recently, two-dimensional (2D) convolutional neural networks (CNNs) have gained widespread attention for their ability to detect and classify a large number of image objects. CNNs have many different configurations, but the configurations are composed of basic elements that permit the network to be “trained” to recognize objects by adjusting network parameters and interconnection topologies to achieve a high level of detection reliability, typically over 90% in state-of-the-art implementations.
CNNs are generally classified as “deep” neural networks, often with four or more layers. A “convolutional” layer of a CNN generally has more output values than inputs, the outputs in turn becoming inputs to the next convolutional layer. As discussed further below, the resulting number of operations is quite large, and the number of clock cycles needed to perform a detection process on one input image frame can easily be on the order of one billion. Real-time image recognition is desirable for many applications, such as sign-reading for automatically-operated vehicles or face recognition in security situations. Accordingly, improvements in detection speed can greatly enhance the performance and capabilities of such image-recognition applications.